package com.misboot.document.aspect.log;


import cn.ewsd.common.service.IMybatisBaseService;

import java.lang.annotation.*;


/**
 * 记录编辑详细信息的标注
 *
 * @Author 湖南佐佑时代科技有限公司（https://www.zuoyo.com）
 * @Version V5.4.21
 * @Email service@zuoyo.com
 * @Date 2023/03/28
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface OperateLog {

    /**
     * @return 操作的类型
     */
    ModifyName operationType() default ModifyName.NONE;

    /**
     * @return 获取编辑信息的解析类，目前为使用id获取，复杂的解析需要自己实现，默认不填写
     * 则使用默认解析类
     */
    Class<? extends ContentParser> parseClass() default DefaultContentParse.class;

    /**
     * @return 查询数据库所调用的class文件
     */
    Class<? extends IMybatisBaseService> serviceClass() default IMybatisBaseService.class;

    /**
     * @return 具体业务操作名称
     */
    String handleName() default "";

    /**
     * @return 所诉模块 比如数据报表
     */
    String operationModular() default "";

    /**
     * @return 是否需要默认的改动比较
     */
    boolean needDefaultCompare() default false;

    /**
     * @return id的类型
     */
    Class<?> idType() default String.class;
}
